<?php

namespace App\Http\Controllers\Mobile;


use App\Logics\StudentLogic;

class StudentController extends BaseController
{
    // 一般操作
    public function initialize()
    {
        parent::initialize();

        // 必须是认证用户才能操作
        $user = $this->myUser;
        $opt  = $this->optLogic();
        $opt->setField('myUid', $this->myUid);
        $opt->throwIf(empty($user), '请先登录在操作！', LOGIN_ERROR);
        $opt->throwIf(empty($user['is_auth']), '你没有认证！');
        $opt->throwIf($user['verify'] != 1, '你的认证还未通过审核！');
        //$opt->throwIf($user['auth_type'] != 'school', '非学校认证不能操作学员信息！');
    }



    // 学员：认证学校添加学员
    //   只针对当前的学校认证用户才有的操作


    // 学员详情
    // 学员列表
    public function lists()
    {
        // status
        $option = $this->optLogic();
        $option->setField('status', 999);  // 999 表示没有删除的：即status为0或1
        $option->setField('is_count', 1);  // is_count：是否返回统计数据

        $logic = new StudentLogic();
        $res   = $logic->onLists();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 学员详情
    // 学员列表
    public function all()
    {
        // status
        $option = $this->optLogic();
        $option->setField('rows', 999);
        $option->setField('status', 999);  // 999 表示没有删除的：即status为0或1
        $option->setField('is_count', 0);  // is_count：是否返回统计数据

        $logic = new StudentLogic();
        $res   = $logic->onLists();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 删除学员
    public function delete()
    {
        $logic = new StudentLogic();
        $res   = $logic->onDelete($this->myUid);  // 直接删除（这里用户的学员管理，很少操作，所以直接删除，而且软删除的没有保留的意义）
        //$res   = $logic->onSoft($this->myUid);  // 软删除
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success();
    }

    // 修改学员
    public function edit()
    {
        $logic = new StudentLogic();
        $res   = $logic->onEdit($this->myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success();
    }

    // 添加学员
    public function add()
    {
        $logic = new StudentLogic();
        $res   = $logic->onAdd($this->myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success();
    }

}


